package xuesm.strategy.pay;

/**
 * @Author: xuesm
 * @Description: 支付渠道（策略）抽象类
 * @Date: Create in 19:48 2019/4/12
 */
public abstract class Payment {

	// 支付类型
	public abstract String getName();

	// 余额查询
	public abstract double queryAccount(String uid);

	// 扣费支付
	public PayState pay(String uid, double amount){
		if (queryAccount(uid) < amount){
			return new PayState(500, "支付失败", "余额不足");
		}
		return new PayState(200, "支付成功", "支付金额：" + amount);
	}
}
